package com.aoip.telemetry.telemetry.configureui.business.storage.merge.service;

import com.aoip.telemetry.telemetry.entity.common.MergeTableDataEntity;

import java.util.List;

/**
 * @author chenbai
 * @version 1.0
 * @date 2022/4/19 20:16
 */
public interface DataMergeService {

    /**
     * 合并字段列表查询
     *
     * @param entity 合并字段实体
     * @return java.util.List<com.aoip.telemetry.telemetry.entity.common.MergeTableDataEntity>
     * @author chenbai
     * @date 2022/4/19
     **/
    List<MergeTableDataEntity> list(MergeTableDataEntity entity);

    /**
     * 根据id查询单条合并字段配置信息
     *
     * @param id 数据id
     * @return com.aoip.telemetry.telemetry.entity.common.MergeTableDataEntity
     * @author chenbai
     * @date 2022/4/19
     **/
    MergeTableDataEntity detail(String id);

    /**
     * 新增单条合并字段配置信息
     *
     * @param entity 合并字段实体
     * @return int
     * @author chenbai
     * @date 2022/4/19
     **/
    int insert(MergeTableDataEntity entity);

    /**
     * 修改单条合并字段配置信息
     *
     * @param entity 合并字段实体
     * @return int
     * @author chenbai
     * @date 2022/4/19
     **/
    int update(MergeTableDataEntity entity);

    /**
     * 初始化数据到redis缓存库
     *
     * @return int
     * @author chenbai
     * @date 2022/3/8
     **/
    int initCache();

    /**
     * 删除单条或多条合并字段配置信息
     *
     * @param ids 主键id集合
     * @author chenbai
     * @date 2022/4/19
     **/
    void delete(String[] ids);
}
